Hello! This is the file that I kept all my notes in while developing this agent. I decided to include it for your information and amusement, but take it with a grain of salt because I am really bad at keeping/updating notes so not everything may be accurate!

******************************************************************

PART LISTING

Part 1: Select Current World Name Profile
Part 2: Select Default Name Profile
Part 3: Select Custom Name Profile 1
Part 4: Select Custom Name Profile 2
Part 5: Select Custom Name Profile 3
Part 6: Select Custom Name Profile 4
Part 7: Set Profile to Current World
Part 8: Set Profile to Default
Part 9: Exit
Part 10: Left Up Arrow
Part 11: Left Checkbox
Part 12: Left Import Button
Part 13: Left Preview Button
Part 14: Left Down Arrow
Part 15: Right Up Arrow
Part 16: Right Checkbox
Part 17: Right Import Button
Part 18: Right Preview Button
Part 19: Right Down Arrow
Part 20: Inheritance Options Button
Part 21: Formatting Options Button
Part 22: Refresh Test Name
Parts 23 - 32 are Left side text parts 
Parts 33 - 42 are Right Side text parts
Parts 43 - 52 are Left Side Buttons 
	(correspond to their text part -20)
Parts 53 - 62 are Right Side buttons
	(correspond to their text part -20)
Part 63 is the Random Name Box
Part 64 is the Import Tag Entry Box


SCRIPT LISTING

9 -- Timer script that does the actual naming
1000 -- Part Constructor
	-Takes _p1_ consisting of either a part number or a 		string of part numbers and a _p2_ consisting of a 		'return script' number to call at the end.
	This is called automatically after by script 2000
	- list parts can't be called individually but are called 		as follows:
 	23 - 32 -- left_text
 	33 - 42 -- right_text
 	43 - 52 -- left_buttons
 	53 - 62 -- right_buttons
2000 -- Interface Builder/resetter
3000 -- Clicked Interface Button
3001 -- List item clicked
4000 -- Initialization of text parts (this is automatically called after script 3000)
5000 -- Import Tag was entered 


STATES (and namevars)

major_state_prev:
	(stores the last major_state when it changes) 
major_state:
	main
	preview
	inheritance
	formatting
	import_left
	import_right

setting_state:
	world
	default
	c1
	c2
	c3
	c4

preview_tag
preview_page_count
preview_current_page

Options for each state:

world_options_inherit (mom, dad, random, none)
world options_inherit_name (first, last, random, none)
world_options_space (space, none, [custom])
world_options_lcaps (always, never, unaltered)
world_options_rcaps (always, never, unaltered)

default_options_inherit, c1_options_inherit (etc etc)

left_selected: (part number)
left_selected_tag: (text)
left_current_page: (int)
left_total_pages: (int)

right_selected:
right_selected_tag: 
right_current_page:
right_total_pages:

list_master_left_tags_#
list_world_left_tags_#
list_default_left_tags_#
list_c1_left_tags_#
list_c2_left_tags_#
list_c3_left_tags_#
list_c4_left_tags_#

list_master_left_tags_length
list_world_left_tags_length
list_default_left_tags_length
list_c1_left_tags_length
list_c2_left_tags_length
list_c3_left_tags_length
list_c4_left_tags_length

list_master_right_tags_#
list_world_right_tags_#
list_default_right_tags_#
list_c1_right_tags_#
list_c2_right_tags_#
list_c3_right_tags_#
list_c4_right_tags_#

list_master_right_tags_length
list_world_right_tags_length
list_default_right_tags_length
list_c1_right_tags_length
list_c2_right_tags_length
list_c3_right_tags_length
list_c4_right_tags_length

pt_test_firstname
pt_test_lastname

text_color
selected_color

Possible Colors:


sets name "text_color" "<tint 1 80 1 1>"
sets name "selected_color" "<tint 1 60 1 128>"

sets name "text_color" "<tint 1 1 1 200>"
sets name "selected_color" "<tint 20 200 20 1>"


Buttons for INHERITANCE options:

55 - first
56 - last
57 - random
58 - none
59
60 - mom
61 - dad
62 - random


Buttons for FORMATTING Options

53 - space
54 - no space
55
56 - always
57 - never
58 - unaltered
59
60 - always
61 - never
62 - unaltered


*PARAMS for the parts

setv name "p1_params" "b 18 50 9 3000"
setv name "p2_params" "b 6 86 9 3000"
setv name "p3_params" "b 12 139 8 3000"
setv name "p4_params" "b 9 170 10 3000"
setv name "p5_params" "b 3 201 10 3000"
setv name "p6_params" "b 15 232 9 3000"
setv name "p7_params" "b 24 328 8 3000"
setv name "p8_params" "b 21 387 9 3000"
setv name "p9_params" "b 27 464 7 3000"
setv name "p10_params" "b 63 3 56 3000"
setv name "p11_params" "b 60 10 88 3000"
setv name "p12_params" "b 54 9 139 3000"
setv name "p13_params" "b 48 4 178 3000"
setv name "p14_params" "b 39 220 1 3000"
setv name "p15_params" "b 66 476 50 3000"
setv name "p16_params" "b 57 477 96 3000"
setv name "p17_params" "b 51 477 142 3000"
setv name "p18_params" "b 45 477 186 3000"
setv name "p19_params" "b 42 476 219 3000"
setv name "p20_params" "b 36 50 262 3000"
setv name "p21_params" "b 30 99 271 3000"
setv name "p22_params" "b 33 395 264 3000"
setv name "p63_params" "f 69 165 278 blackontransparentchars"

var names for list management:

"f-ls_id" contains the id of the list you are working with
"f-ls_pending" contains what you are working with
"f-ls_prefix" contains the list prefix "list_[id]_" so you just have to tack numbers onto the end
"f-ls_length_varname" contains the namevar name of the length of the list 
"f-ls_search_result_varname" contains the namevar name of the result of the list_search function
"f-ls_removed_result_varname"
"f-ls_added_result_varname"
"f-ls_length" contains an integer of how long your list is


List Management Subrs:

add_to_list
remove_from_list
search_list

clone_list
clone_list_to_game
clone_list_from_game

debug_output_list
debug_output_game_list


A REALLY BAD DEV JOURNAL:

10-14 -- badly drew made and sliced the UI art, 4+ hours
10-15 -- assembled the UI. 8+ hours
	 Wrote string-separated string to list subrs
10-17 -- Wrote list-support subrs, add_to_list, search_list,
	    remove_from_list 6+ hours
10-19 -- now you can import journal files into variables!
	 Wrote clone_list, clone_list_to_game,
	 clone_list_from_game. 4+ hours
	 List objects now populate with list items on launch
10-20 -- Actually started this dev journal so things should
	 be more detailed now.
	 Selecting an item now actually adds/removes it from
	    its respective list ~1hr
	 Started using klock to track time spent on tasks better
	    hoping I keep up with it/don't forget it exists.
	 Worked on change_setting_state but it doesn't seem to be
   	    making the replacement parts properly yet (0:20)
	 It's making the replacement parts properly now but it 
	    doesn't look like selections are saving properly in
            some cases. I haven't been able to find a pattern
	    yet. (0:15)
	 Looks like the problem is just that the text part 
	   populator is just not highlighting all the parts 
	   properly. At least I have a direction now (0:08)
	 Fixed it. Thank dragons I found it so quickly. I had it
	   set to highlight the text if the search_list result
      	   was greater than one, rather than greater than zero, so
    	   the first item on the list was always unhighlighted.    
	   This was made MORE mysterious due to the fact that the 
	   unhighlighted item was constantly changing, but that 
	   was because it was just changing the first item in the 
	   list (due to selecting/deselecting adding/removing 	    
	   items from the list constantly). WOW. Debugging is some 
	   really satisfying mystery solving work sometimes. 
	   (0:05)
	The "copy to world" and "copy to default" buttons work now
	   (0:12)
	Page up and page down arrows work now! (0:43)
10-21 --
	Fixed a bug where the selected tag text wasn't cleared out 
	   when the page changed.
	The main menu UI is pretty much done! Now to do stuff for 
	   all the submenus/options pages etc.
	Started work on the Import menu! Added the text part. It 
	   goes into the import state when the button is clicked. 
	   Still lots to do! (0:38)
10-22 --
	Made the X button return to the main state when not in the  
	   main state. (0:05)
	Set initial text population for the import state. Also
	   decided to let clicking the green ticks be an option in
	   case Enter doesn't work because keyboard commands are 
	   weird sometimes. (0:27)
	If you enter an invalid tag, it displays an error now.
    	   Still need to actually handle what happens when the tag
	   is valid. (0:22)
10-23 --
	Finished up the Import functions. Now you can add any 
	   catalogue tags to either list! Looks like they work 
	   nicely now!
	Got the preview function working for the most part, however
	   sometimes the pages don't seem to count correctly. I'll
	   have to look into that. I'm hungry. (1:51)
10-24 -- 
	Fixed a bug where sometimes the agent thought something was 
	   selected when it wasn't.
	When trying to write inheritance settings, realized that I 
	   was missing a whole setting variable and had to go back
	   and edit the old read_in_settings subr to account for
	   it. Sigh.
	Inheritance settings list properly at least now. I'm 	  
	   dreading writing the buttons.
	I REALLY need to write a better core for an options system.
	   This really sucks. Too late to really do it now though.
	   At least if I want to get this done in time for CCSF.
	Okay, that wasn't actually as bad as I thought it was going
	   to be. I just wasn't thinking straight. Looks like
	   inheritance is functioning now, but I'm going to make 
	   some food before I start on Formatting Options. (1:28)
	Formatting options were pretty simple to put together but I
	   discovered I left out copying over OPTIONS while I was
	   making the copy-to-default buttons! Oh dear.
	They copy over alright now. But there's this weird bug where
	   if I copy settings from a setting with no tags
	   highlighted to default or world, the first tag in each
	   row are shown as highlighted and when I click on them I
	   get an error found in the remove_from_list subroutine..
	   indicating it's trying to remove something that isn't
	   there? Time for more DEBUGGING FUN
	Further investigation into the bug seems to point to the
	   first item actually being copied for some reason. The
	   error is being thrown because the length of the list
	   understandably doesn't reflect the item being copied.
	   Gonna check the clone_list subr.
	Attempts to alter the clone_list subr have gotten me
	  nowhere. Though it appears that might be the cause, after
 	  setting doif checks the problem still occurs. Furthermore,
 	  copying an empty list to a list that already has items 
	  appears to... still keep some of the items highlighted.
 	  From what I can tell it appears to be the first of the   
	  items on each list... implying that the cloneover still
	  leaves the .. wait a minute let me check something. Boy 
	  this is a MESS.
	It does actually seem to be the first two items you added to
 	  the list that remain highlighted if you copy a blank list 
	  over. I bet this is somehow to do with the fact that the 
	  clone_list subr doesn't actually clear the current list 
	  before adding the new stuff to it... I think I need to 
	  write a clear_list subr and see what happens. 
	The clear_list subr fixed things, thank heavens. That was a
 	   pain of a bug. (1:44)
	Next I want to write the SAVE/write to disk options when the
 	   main menu is X'd out. Then the actual naming code.
10-26 --
	It writes to disk now but I have probably spent the last 
	   two hours totally BAFFLED by the fact that when I copy 
	   NAME vars for the world from GAME vars, they don't
 	   highlight and don't seem to be considered part of the 
	   list at all. The search function considers them as not 
	   existing it seems (the copied vars) but I can't even spot
	   a difference.
	Finally found the culprit... It's so silly I don't even want
 	   to acknowledge it really ... but I had the copypasted 
	   clone_list_from_game checking the GAME var side of things
 	   for validity... which of course it wasn't finding. sigh.
 	   My stomach hurts from how much time I wasted on that. I 
	   wish I hadn't set myself a deadline. I think it makes 
	   this all so much less enjoyable. (2:47)
	Made a cute little duck button/icon that sits inside the HUD
 	   and brings up the PT-window when clicked. I still feel so
 	   sick from that last bug hunt. Wading through this mess of
 	   code is seriously not for the faint of heart (good thing 
	   I'm a maid I guess?) (0:16)
	Things to do still off the top of my head: Write the 
	   tooltips, add sounds to everything, write the sample name
 	   code, add some nicer UI shortcuts, write the actual
 	   AUTONAMING portion including figuring out how to deal
 	   with name inheritance, make actual themed name lists that
 	   aren't someone elses, write code to pre-populate an empty
 	   master list with those. Do we still want to write a
 	   tutorial overlay? I feel like "yes" but I think I'm going
 	   to have to come to terms with not getting this out by
	   CCSF if I'm going to avoid stressing myself to death.
10-27 -- 
	Worked on Help Catalogue Tag (1:02)
10-28 -- 
	Finished Help Catalogue Tag
	Wrote Tooltips (0:34)
10-29 --
	Added sounds when buttons are pushed and things. Next time 
	   this should probably be part of development and not an 
	   afterthought.
	FINISHED THE PREVIEW BUTTON AND IT WORKS. SO BEAUTIFULLY. I 
	   legit teared up a little. And then proceeded to generate
   	   lots of horrible names.
	I am finally starting work on the code that actually 
	   autonames the Creatures and I'm kind of in awe. This 
	   project has dominated my free time for the last two weeks
 	   and I'm just really excited to see it coming together. 
	   Sigh <3
	I'm going to try to use a method to track inheritance where 
	   I actually store the first and last names in HIST EVNTs.
 	   They're meant to be used for storing monikers but I just 
	   tested storing and retrieving some random strings and IT
 	   WORKS. SO NICELY. Assuming there aren't any other weird 
	   problems I think I'm just going to use this method since
 	   Creature History is stored pretty much forever in a 	   
	   world. (2:30)
	Working on Inheritance La La La (0:50)
	THE AUTONAMING CODE WORKS. The first norn given a name by
 	   this was named "meekToothpaste" Let us celebrate.
	In bugtesting Inheritance and putting my endis in the wrong
 	   place, I managed to inadvertantly name a norn
 	   "wrenchWrench".
	Update, wrenchWrench has fathered a child named wrenchBalls.
	   I believe inheritance is functioning correctly now!
	Things left to do: Figure out why Master files aren't
 	   writing to disk, write my actual own themed lists. Maybe
 	   add some more UI tweaks but as I expected my motivation
 	   to do extra stuff is waning extremely quickly now that
 	   this is functioning and I really want to get it to
 	   testers ASAP! Aggh!
	Fixed the problem with masters not writing to disk. I forgot
	   to tell it to write to disk. Food break now and then I
	   think I need to brainstorm some name lists. (2:13)
10-30 --
	Spent several hours on name lists but didn't really log the 
	   time. I feel like I need to just make myself stop at some
 	   point because I could make lists of SO MANY ITEMS @_@
	   (4:00)
	Even more hours later, I think I have a... releasable number
	   of name lists here. What now? (2:48)
10-31 --
	Happy Halloween! I'm working on changing the text colors to
   	   be a little more readable. It's a pain because the colors
 	   I really like clash badly with the background. Note to 
	   self: Don't rely on text color as an indicator again. 
	   It's probably even worse for colorblind folks.
	Implemented some keyboard shortcuts and QOL stuff. Right
    	   clicking on a selected tag now previews it, and backspace
 	   is the same as clicking the X. What I'm most happy about
 	   though is that the scroll wheel now fuctions as a
	   shortcut for page up/down! I need to figure out though
	   why sometimes previewing tags shows an extra blank page.
	   I also need to rewrite the Help file a little bit to
 	   organize it/add more info.
	Ugh, I just had an idea for a feature I REALLY want to 	  
	   add...but it would require a fair bit of extra work. I
	   want to be able to click a previewed name to apply it to
	   a currently selected Creature. This requires a new part
	   and everything! Siiiighhh!

	Well, I fixed the Preview-page bug at least.... sigh, I 
	   wonder how hard that apply-to-norn button would be 
	   to implement.

	As it turns out, not that hard? I keep forgetting I really
	   set my resuable scripts up pretty well here. Now to work
	   on the Help Menu!
	Just kidding I added more sounds instead. NOW to work on the
	   help menu?
	Okay, help menu updated. I... I think we're....done?
	Compiled the FIRST ALPHA TEST AGENT! WE DID IT! (4:49)

Total Hours Labor from conception to Alpha: 48:27
(Geez, if only I was paid hourly for this nonsense)

Later Bugfixing:

11-7: 
- Fixed aNOTHER bug where the agent thought something was highlighted when it wasn't. Blugh.
- Made the control panel not show up on remote cameras (seriously how did I forget this)
- Fixed a bug where switching to another set of settings would keep the same page number variable, resulting in out-of-range scrolling.
-Disabled backspace going back in import mode, for real this time.Apparently I had it set to OR instead of AND >>
- Todo: Make the checkmark in Imports actually work, disable fav-place buttons completely when the window is open. (change the attr?)

11-16:
- Thinking I might just opt to... not disable the fav-place buttons and warn people that it acts weird if you change rooms. Because I feel like this scripts to do that would get invasive to the point of making it not compatible with custom fav-places mods and I don't want to do that (lord why does this ONE TINY FEATURE make it such a pain)
- Did make the checkmark in imports actually work.
- Actually, after poking around in the favorite places script it looks like metaroom changes send out mesg 900 to every agent in existance? I'm going to see if I can use that to reset things.
- Wow that actually worked. I feel like I should edit/annotate the caos documentation to include script 900 as 'changed rooms' 

